Pular para o conteúdo

[C] Decimal -> Binario

Programa que converte numeros decimais em binario usando operadores bit-bit padrões do C.
Muito bom para se entender operadores bit-bit e conversao de numeros...
Enzo de Brito Ferber EnzoFerber
Hits: 8.026 Categoria: C/C++ Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Programa que converte numeros decimais em binario usando operadores bit-bit padrões do C.
Muito bom para se entender operadores bit-bit e conversao de numeros...
Download binario.c Enviar nova versão

Esconder código-fonte

/*
 * Programa: Binário
 * Arquivo: binario.c
 * Autor: Enzo Ferber 'Slackware_10'
 */
 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define FLUSH __fpurge(stdin); //fflush(stdin) em sistemas windows

int converter(int num){
    printf("%d", (num & 0x80) / 0x80); //bit 7
    printf("%d", (num & 0x40) / 0x40); //bit 6
    printf("%d", (num & 0x20) / 0x20); //bit 5
    printf("%d", (num & 0x10) / 0x10); //bit 4
    printf("%d", (num & 0x08) / 0x08); //bit 3
    printf("%d", (num & 0x04) / 0x04); //bit 2
    printf("%d", (num & 0x02) / 0x02); //bit 1
    printf("%d", (num & 0x01) / 0x01); //bit 0
    /* Quando ha uma coversao decimal->binario, o bit 7 vem em 
     * primeiro lugar, e o 0 em ultimo.
     * Exemplo: Converter 65 (A) em binario
     * 65 | 2 (resto 1) bit 0
     * 32 | 2 (resto 0) bit 1
     * 16 | 2 (resto 0) bit 2
     * ...
     * Depois se inverte os bits:
     * B = bit
     * B7 B6 B5 B4 B3 B2 B1 B0 
     */
}

int main(void){
    int num;
    while(1){
        system("clear"); //cls em sistemas windows
        printf("Numero a converter: ");
        FLUSH
        scanf("%d", &num);
        if(num == -1) break; //garante um loop nao infinito
        converter(num);
        FLUSH
        getchar();
    }
    return 0;
}

Calculadora elementar com ponto flutuante

Determinando a posicão de ocorrencia de uma string em outra

Teste de desempenho com números primos em C

Shadow Mapping usando OpenGL e Cg

Binário para Decimal, Hexa, Char

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.